<?php

class RegisterView {

	// Privata variabler för formuläret bland annat
	private $name = 'name';
	private $pass = 'pass';
	private $pass2 = 'pass2';
	private $register = 'register';
	private $nav = 'index.php';
	private $email = 'email';
	private $email2 = 'email2';
	// konstanter för controllern
	const USER_REGISTER = 0;
	const NAME_DOES_EXIST = 1;
	const NAME_IS_EMPTY = 2;
	const PASS_IS_EMPTY = 3;
	const PASS_NOT_EQUAL = 4;
	const PASS_NOT_GOOD = 5;
	const EMAIL_IS_EMPTY = 6;
	const EMAIL_DOES_EXIST = 7;
	const EMAIL_NOT_EQUAL = 8;
	const NAME_MIN_THREE = 9;
	const NOT_AN_EMAIL = 10;
	// Gör registreringsformuläret
	function doRegisterBox() {
		$ret = "
				<div id='register'>
					<h2>Registrera dig </h2>
					<form action='index.php?Register' id='registerForm' method='POST'>
						
						<div class='logoutinput'>
							<label for='name'>Användarnamn: </label> <input autocomplete='off' type='text' name='$this->name' />
						</div>
						
						<div class='logoutinput'>
							<label for='email'>Email: </label> <input type='name' autocomplete='off'  name='$this->email' />
						</div>
						
						<div class='logoutinput'>
							<label for='email'>Bekräfta Email: </label> <input autocomplete='off' type='name' name='$this->email2' />
						</div>
						
						<div class='logoutinput'>
							<label for='password'>Lösenord: </label> <input type='password' name='$this->pass' />
						</div>
						
						<div class='logoutinput'>
							<label for='password'>Bekräfta Lösenord: </label> <input type='password' name='$this->pass2' />
						</div>
						
	
						
						<div class='buttonCheck'>
							<input type='submit' name='$this->register' class='button' value='Registrera'/> 
						</div>
						
					</form>
				</div>";

		return $ret;
	}

	// Hämtar användarnamnet från input med namn name, som är en privat variabel
	public function GetUserName() {
		// Om inputten är satt och inte är tom, så skriv ut namnet.
		if (isset($_POST[$this -> name])) {

			return $_POST[$this -> name];

		}

	}

	// Hämtar lösenord från input med namn pass, som är en privat variabel
	public function GetPassword() {
		// Om inputten är satt och inte är tom, så skriv ut lösenordet.
		if (isset($_POST[$this -> pass])) {

			return $_POST[$this -> pass];
		}

	}

	public function GetPassword2() {
		// Om inputten är satt och inte är tom, så skriv ut lösenordet.
		if (isset($_POST[$this -> pass2])) {

			return $_POST[$this -> pass2];
		}

	}

	// Hämtar lösenord från input med namn pass, som är en privat variabel
	public function GetEmail() {
		// Om inputten är satt och inte är tom, så skriv ut lösenordet.
		if (isset($_POST[$this -> email])) {

			return $_POST[$this -> email];
		}

	}
	
	public function GetEmail2() {
		// Om inputten är satt och inte är tom, så skriv ut emailen.
		if (isset($_POST[$this -> email2])) {
			
			return $_POST[$this -> email2];
		}

	}

	// Kollar om de inte matchar
	public function NotMatch($var, $var2) {
		if ($var !== $var2) {
			return true;
		}
		return false;
	}
	// Kollar vad det blir för status när man skickar in
	public static function Status($n) {
		$status = null;

		switch($n) {
			case self::USER_REGISTER :
				$status .= "Registrerad";
				break;

			case self::NAME_DOES_EXIST :
				$status .= "Namnet finns redan";
				break;

			case self::NAME_IS_EMPTY :
				$status .= "Namnet du angav är tomt";
				break;

			case self::PASS_IS_EMPTY :
				$status .= "Lösenordet du angav är tomt";
				break;

			case self::EMAIL_NOT_EQUAL :
				$status .= "Emailen stämmer inte överens";
				break;

			case self::PASS_NOT_EQUAL :
				$status .= "Lösenorden stämmer inte överens";
				break;
				
			case self::PASS_NOT_GOOD :
				$status .= "Lösenordet måste vara 6-12 tecken";
				break;
				
			case self::EMAIL_IS_EMPTY :
				$status .= "Emailen du angav är tom";
				break;
				
			case self::EMAIL_DOES_EXIST :
				$status .= "Emailen finns redan";
				break;
				
			case self::NAME_MIN_THREE :
				$status .= "Namnet får minst vara 3 tecken";
				break;
				
			case self::NOT_AN_EMAIL :
				$status .= "Felaktig Email";
				break;
		}

		return "<p class='bad'> $status</p>";

	}
	// Sätter statusen i en div-tagg
	public function getErrors($status) {
		return "<div id='status'> $status </div>";
	}

	// Kollar om man tröck på registrera-knappen.
	public function TriedToRegister() {

		if (isset($_POST[$this -> register])) {
			return true;
		}
		return false;
	}

}
